#ifndef VISITOR_H
#define VISITOR_H

class GameObject;
class World;
class Camera;
class Light;
class Collider;
class Player;
class Asteroid;
class Rocket;
class Explosion;

class Visitor {
    public:
        virtual void visit(GameObject*) = 0;
        virtual void visit(Camera*) = 0;
        virtual void visit(Light*) = 0;
        virtual void visit(World*) = 0;
        virtual void visit(Collider*) = 0;
        virtual void visit(Asteroid*) = 0;
        virtual void visit(Rocket*) = 0;
        virtual void visit(Explosion*) = 0;
};

#endif // VISITOR_H
